package com.rybbaby.tss.core.annotation.validator;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.rybbaby.tss.core.verifier.DateVerifier;

/**
 * @description 时间验证器注解(默认格式：YYYY-MM-dd HH:mm:ss)
 * 
 * @author 谢进伟
 * 
 * @createDate 2016年3月31日 上午9:33:35
 */
@Target({ElementType.FIELD , ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface DateValidator{
	
	/**
	 * 时间格式(默认格式：YYYY-MM-dd HH:mm:ss)
	 * 
	 * @return
	 */
	public String format() default "YYYY-MM-dd HH:mm:ss";
	
	/**
	 * 是否允许为空值
	 * 
	 * @return
	 */
	public boolean nullable() default true;
	
	/**
	 * 验证器
	 * 
	 * @return
	 */
	public Class<? extends DateVerifier> verifier() default DateVerifier.class;
}
